Tableau ServerからBigQueryに接続してみた(サーバー単位)
はじめに
こんにちは。データアナリティクス事業本部 BIチームのkariyaです。
Tableau DesktopでBigQueryのデータを参照するワークブックを作成してTableau Serverにパブリッシュした際、ワークブックを開いた際にBigQueryへの認証が通らないことがありました。
今回自分が実施した検証内容をまとめます。
前提
Tableau Serverへのパブリッシュ時に「パスワード埋め込み」を選択した場合は、BigQueryの認証なしでワークブックを開くことができます。
今回はTableau Serverへのパブリッシュ時に「ユーザーにメッセージ表示」を選択した場合の検証となります。
検証環境
- Windows Server 2019
- Tableau Server 2022.3.0
- Tableau Desktop 2022.3.6
やってみる
Tableau ServerにhttpsでアクセスできるURLの取得
Tableau Serverへのアクセスはデフォルトではhttp接続ですが、BigQueryとの認証設定の際にはhttps接続が必要になります。 今回の検証のため、オレオレ証明書を取得してSSL化し、https接続できるようにしました。
BigQueryの設定画面で認証情報を作成する
BigQueryのナビゲーションメニュー > APIとサービス > 認証情報 を選択します。
認証情報を作成 > OAuthクライアントID を選択します。
下記を記載して、作成ボタンを押します。
- 承認済みのJavaScript生成元:httpsで始まるTableau Serverのアドレス
- 承認済みのリダイレクトURI:httpsで始まるTableau Serverのアドレスに/auth/add_oauth_token
を追記
作成後にクライアントID、クライアントシークレットが確認できますので、リダイレクトURIと一緒にメモしておきます。
Tableau Server(TSM)でBigQueryの認証情報を設定する
コマンドプロンプトで下記コマンドを順番に実行します。クライアントID、クライアントシークレット、リダイレクトURIは先ほどメモした内容に置き換えます。
tsm configuration set -k oauth.google.client_id -v <your_client_ID> tsm configuration set -k oauth.google.client_secret -v <your_client_secret> tsm configuration set -k oauth.google.redirect_uri -v <your_authorized_redirect_URI> tsm pending-changes apply
pending-changes applyを実行するとTableau Serverの再起動を求められるので、再起動が終わるまで待ちます。
動作確認
ここまで設定すると、BigQueryへ接続しているワークブックをTableau Server上で閲覧できるようになります。
Tableau Serverにパブリッシュしたワークブックを開くと認証を求められますので、サインインをクリックします。
Googleアカウントの認証をします。
認証後、ワークブックの閲覧ができました。
認証をした後は、マイアカウントの設定 > セキュリティ > データソースの保存済み認証資格情報 にBigQueryの認証情報が残っていました。
この認証があれば、再度ワークブックを開いた時には認証なしで閲覧ができました。
おわりに
今回はサーバー単位での認証をしていますが、サイト単位でのカスタムOAuthの設定もあるようですので、引き続き検証していきたいと思います。
最後までお読み頂きありがとうございました。何かのヒントになれば嬉しいです。